Skip to content

Wire pipes into torchcomms conda build and update toml configs#966

Open
snarayankh wants to merge 1 commit intometa-pytorch:mainfrom
snarayankh:export-D94942789
Open

Wire pipes into torchcomms conda build and update toml configs#966
snarayankh wants to merge 1 commit intometa-pytorch:mainfrom
snarayankh:export-D94942789

Conversation

@snarayankh
Copy link

Summary:
Wire the pipes conda feedstock into the torchcomms build and update
downstream conda configs to include doca + pipes packages.

When USE_PIPES=1, torchcomms adds a USE_PIPES=1 compile definition to
the ncclx target so it can resolve Pipes device headers (e.g.
CopyUtils.cuh for memcpy_vectorized) from the conda environment.
The find_library(pipes) call is an existence check only — pipes is
header-only for torchcomms; MCCL links libpipes.so directly at
runtime.

Changes

  • setup.py: Add USE_PIPES flag (default OFF), forward to CMake.
  • CMakeLists.txt: Add USE_PIPES option + find_library existence
    check + USE_PIPES=1 compile def on ncclx target.
  • conda_build_torchcomms.sh: Auto-detect libpipes.so in conda env
    and set USE_PIPES accordingly.
  • recipe.yaml: Add pipes as host + run dependency.
  • torchcomms.toml / torchcomms_gb200.toml: Add doca + pipes
    feedstocks for test environments.
  • llama4x build.toml: Add doca + pipes feedstocks and specs.
  • msl/rl build.toml + fair/build.toml: Add pipes feedstock + spec.

Differential Revision: D94942789

Summary:
Wire the pipes conda feedstock into the torchcomms build and update
downstream conda configs to include doca + pipes packages.

When USE_PIPES=1, torchcomms adds a USE_PIPES=1 compile definition to
the ncclx target so it can resolve Pipes device headers (e.g.
CopyUtils.cuh for memcpy_vectorized) from the conda environment.
The find_library(pipes) call is an existence check only — pipes is
header-only for torchcomms; MCCL links libpipes.so directly at
runtime.

## Changes

- **setup.py**: Add USE_PIPES flag (default OFF), forward to CMake.
- **CMakeLists.txt**: Add USE_PIPES option + find_library existence
  check + USE_PIPES=1 compile def on ncclx target.
- **conda_build_torchcomms.sh**: Auto-detect libpipes.so in conda env
  and set USE_PIPES accordingly.
- **recipe.yaml**: Add pipes as host + run dependency.
- **torchcomms.toml / torchcomms_gb200.toml**: Add doca + pipes
  feedstocks for test environments.
- **llama4x build.toml**: Add doca + pipes feedstocks and specs.
- **msl/rl build.toml + fair/build.toml**: Add pipes feedstock + spec.

Differential Revision: D94942789
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Meta Open Source bot. label Mar 6, 2026
@meta-codesync
Copy link
Contributor

meta-codesync bot commented Mar 6, 2026

@snarayankh has exported this pull request. If you are a Meta employee, you can view the originating Diff in D94942789.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot. fb-exported meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant